package com.controleFamiliar.facade;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.Session;

import com.controleFamiliar.dao.CategoriaDespesaDAO;
import com.controleFamiliar.pojo.CategoriaDespesa;
import com.controleFamiliar.pojo.Usuario;
import com.controleFamiliar.util.HibernateUtil;

public class CategoriaDespesaFacade {
	
	public static Logger log = Logger.getLogger(CategoriaDespesaFacade.class);
	
	public void salvarCategoria (CategoriaDespesa categoria) throws Exception{
		try {
			log.debug("Salvar Categoria...");
			CategoriaDespesaDAO dao = new CategoriaDespesaDAO();
			dao.salvarCategoriaDespesa(categoria);
		} catch (Exception e) {
			log.error("Ocorreu um erro ao salvarCategoria");
			e.printStackTrace();
		}
	}
	
	public void removerCategoria (Integer codCategoria) throws Exception{
		try {
			log.debug("Remover Categoria...");
			CategoriaDespesaDAO dao = new CategoriaDespesaDAO();
			dao.removerCategoria(codCategoria);
		} catch (Exception e) {
			log.error("Ocorreu um erro ao removerCategoria");
			e.printStackTrace();
		}
	}
	
	public List<CategoriaDespesa> listarTodasCategorias () throws Exception{
		List<CategoriaDespesa> lista = new ArrayList<CategoriaDespesa>();
		CategoriaDespesaDAO dao = new CategoriaDespesaDAO();
		try {
			log.debug("Listar Todas Categorias...");
			lista = dao.listarTodasCategorias();
		} catch (Exception e) {
			log.error("Ocorreu um erro ao listarTodasCategorias");
			e.printStackTrace();
		}
		return lista;
	}
	
	public CategoriaDespesa obter (Integer codigo) throws Exception{
		CategoriaDespesa categoria = new CategoriaDespesa();
		CategoriaDespesaDAO dao = new CategoriaDespesaDAO();
		try {
			log.debug("Listar Todas Categorias...");
			categoria = dao.obterCategoria(codigo);
		} catch (Exception e) {
			log.error("Ocorreu um erro ao listarTodasCategorias");
			e.printStackTrace();
		}
		return categoria;
	}
	
	
}